package com.khiker.sort;

/**
 * 平均时间复杂度：n^2
 * 最坏时间复杂度：n^2
 * 最好时间复杂度：n^2
 * 空间复杂度：1
 * 稳定性：不稳定
 */
public class Selection implements Sort {
	@Override
	public int[] sort(int[] array) {
		int cur;
		for (int i = 0; i < array.length - 1; i++) {
			cur = i;
			for (int j = cur + 1; j < array.length; j++) {
				if (array[cur] > array[j]) {
					cur = j;
				}
			}
			swap(array, i, cur);
		}
		return array;
	}

	public static void main(String[] args) {
		Selection selection = new Selection();

		selection.checkMulti(100);
	}
}
